<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>动态规划解码方法</title>
    </head>
    <body></body>
    <!-- <script src="./js/递归方式解决解码方法.js"></script> -->
    <script src="./js/动态规划方法解决解码方法.js"></script>
    <script>
        /**
            问题描述： 一条包含字母A-Z的消息通过以下映射进行了编码：
                1 'A' -> 1
                2 'B' -> 2
                3 ...
                4 'Z' -> 26

                要解码已编码的消息，所有数字必须基于上述映射的方法，反向映射回字母（可能有多 种方法）。例如，"11106"可以映射为：
                "AA JF"，将消息分组为(1 1 10 6)
                "K JF"，将消息分组为(11 10 6) 注意，消息不能分组为(1 11 06)，因为"06"不能映射为"F"，这是由于"6"和"06"在
                映射中并不等价。
                给你一个只含数字的非空字符串s，请计算并返回解码方法的总数。
                题目数据保证答案肯定是一个32位的整数。

                示例 1：
                        输入：s = " 1 2 "
                        输出：2
                        解释：它可以解码为 "AB"（1 2）或者 " L "（1 2）。

                示例 2：
                        输入：s = " 2 2 6 "
                        输出：3
                        解释：它可以解码为 "BZ" (2 2 6 ), "VF" (2 2 6 ), 或者 "BBF" (2 2 6 ) 。

                示例 3：
                        输入：s = " 0 "
                        输出：0
                        解释：没有字符映射到以 0 开头的数字。 含有 0 的有效映射是 ' J ' -> " 1 0 " 和 'T'-> " 2 0 " 。
                            由于没有字符，因此没有有效的方法对此进行解码，因为所有数字都需要映射。

                示例 4：
                        输入：s = " 0 6 "
                        输出：0
                        解释 ： " 0 6 " 不 能 映 射 到 "F" ， 因 为 字 符 串 含 有 前 导 0 （ " 6 " 和 " 0 6 " 在 映 射 中 并 不 等 价）。
        */

        //

        // 测试
        console.log(numDecodings("12"));
        console.log(numDecodings("13215"));
    </script>
</html>
